package co.edu.uniandes.bi.etl.audi.Helpers;

import java.sql.ResultSet;
import java.sql.SQLException;
import co.edu.uniandes.bi.db.TweetsDAO;

public class FechaDB 
{
	private TweetsDAO tweetsDAO;

	public FechaDB()
	{
		tweetsDAO = TweetsDAO.getInstance();
		
	}
	public void insertarFecha(int dia,int mes,int anyo, String fulldate)
	{
		boolean verificarFecha=verificarSiExiste(dia, mes, anyo);
		if(!verificarFecha)
		{
			String sentencia="insert into  fecha(fulldate,diafecha,mesfecha, anyofecha) values ('" + fulldate.replace("/", "-") + "',"+dia+","+mes+","+anyo+" )";
			tweetsDAO.ejecutarSQL(sentencia);
		}
	}
	private  boolean verificarSiExiste(int dia,int mes,int anyo)
	{
		String query="SELECT * FROM FECHA where anyofecha = " + anyo + " and mesfecha = " + mes + " and diafecha = "+dia+ "";
		ResultSet resultSet=tweetsDAO.hacerConsulta(query);
		if(resultSet==null)
		{
			return false;
		}else
		{
			try {
				if(!resultSet.next())
				{
					return false;
				}else
				{
					return true;
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return false;
	}
	/**
	 */ 
	public  int darLlaveSurrogada(int dia,int mes,int anyo)
	{
		String query="SELECT * FROM FECHA where anyofecha = " + anyo + " and mesfecha = " + mes + " and diafecha = "+dia+ "";
		ResultSet resultSet=tweetsDAO.hacerConsulta(query);
		try {
			while(resultSet.next())
			{
				int id=resultSet.getInt("llavefecha");
				System.out.println(id);
				return id;
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return-1;
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String fecha= "2011-03-01";
		FechaDB fechaDB=new FechaDB();
		fechaDB.insertarFecha(01,03,2011,fecha);
		fechaDB.darLlaveSurrogada(01,03,2011);
	}

}
